Systems and methods for highlighting search results

ABSTRACT

A system highlights search terms in documents distributed over a network. The system generates a search query that includes a search term and, in response to the search query, receives a list of one or more references to documents in the network. The system receives selection of one of the references and retrieves a document that corresponds to the selected reference. The system then highlights the search term in the retrieved document.

RELATED APPLICATION

This application claims priority under 35 U.S.C. § 119(e) based on U.S.Provisional Application Ser. No. 60/171,019, filed Dec. 15, 1999, thedisclosure of which is incorporated herein by reference.

BACKGROUND OF THE INVENTION

A. Field of the Invention

The present invention relates generally to information retrieval systemsand, more particularly, to systems and methods for highlighting queryterms in search results.

B. Description of Related Art

Conventional techniques for searching a hypertext medium, such as theWorld Wide Web (“web”), are replete with deficiencies. To perform asearch on the web, a user typically uses a web browser, such as theNetscape Navigator and Microsoft Internet Explorer browsers. The userenters one or more search terms into the browser. In response, thebrowser generates a query request to a search engine. The search enginetypically returns a list of result links to the browser, which, in turn,displays the list to the user.

To view a document associated with one of the links, the user typicallyselects the link by, for example, clicking on it using a mouse.Sometimes, the user desires to determine where the search terms arelocated in the document to determine the document's relevance.Conventional information retrieval systems require that the user performa word search on the document to locate each occurrence of the searchterms.

As a result, there exists a need for mechanisms for highlighting searchterms in a retrieved document to aid a user in determining thedocument's relevance.

SUMMARY OF THE INVENTION

Systems and methods, consistent with the present invention, address thisand other needs by providing mechanisms for highlighting search terms inretrieved documents to facilitate the determination of the documents'relevance.

In accordance with the purpose of the invention as embodied and broadlydescribed herein, a system highlights search terms in documentsdistributed over a network. The system generates a search query thatincludes a search term and, in response to the search query, receives alist of one or more references to documents in the network. The systemreceives selection of one of the references and retrieves a documentthat corresponds to the selected reference. The system then highlightsthe search term in the retrieved document.

In another implementation consistent with the present invention, a webbrowser includes instructions for obtaining a search term; instructionsfor generating a search query from the search term; and instructions forobtaining a list of one or more references to documents distributed overa network using the search query. The web browser further includesinstructions for retrieving a document corresponding to one of the oneor more references; instructions for highlighting each occurrence of thesearch term in the retrieved document; and instructions for displayingthe highlighted document to a user.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate an embodiment of the inventionand, together with the description, explain the invention. In thedrawings,

FIG. 1 is a diagram of an exemplary network in which systems and methodsconsistent with the present invention may be implemented;

FIG. 2 is an exemplary diagram of a client of FIG. 1 in animplementation consistent with the present invention;

FIG. 3 is a diagram of an exemplary computer-readable medium used by theclients of FIG. 1 according to an implementation consistent with thepresent invention;

FIG. 4 is an exemplary diagram of a graphical user interface thatincludes the browser assistant of FIG. 3 according to an implementationconsistent with the present invention;

FIG. 5 is an exemplary diagram of a server of FIG. 1 according to animplementation consistent with the present invention;

FIG. 6 is a flowchart of exemplary processing for highlighting searchresults in accordance with an implementation consistent with the presentinvention;

FIG. 7 is a diagram of an exemplary graphical user interface thatdisplays a document with highlighted search terms according to animplementation consistent with the present invention;

FIG. 8 is a flowchart of exemplary processing for highlighting searchresults in accordance with an alternate implementation consistent withthe present invention;

FIG. 9 is an exemplary diagram of an alternate network in which systemsand methods consistent with the present invention may be implemented;and

FIG. 10 is a flowchart of exemplary processing for highlighting searchresults in accordance with another implementation consistent with thepresent invention.

DETAILED DESCRIPTION

The following detailed description of the invention refers to theaccompanying drawings. The same reference numbers in different drawingsidentify the same or similar elements. Also, the following detaileddescription does not limit the invention. Instead, the scope of theinvention is defined by the appended claims and equivalents.

Systems and methods, consistent with the present invention, highlightsearch terms in documents retrieved as a result of a search to aid inthe determination of the relevancy of the retrieved documents.

Exemplary Network with Browser Assistant

FIG. 1 is an exemplary diagram of a network 100 in which systems andmethods consistent with the present invention may be implemented. Thenetwork 100 may include multiple clients 110 connected to multipleservers 120-130 via a network 140. The network 140 may include a localarea network (LAN), a wide area network (WAN), a telephone network, suchas the Public Switched Telephone Network (PSTN), an intranet, theInternet, a similar or dissimilar network, or a combination of networks.Two clients 110 and three servers 120-130 have been illustrated asconnected to network 140 for simplicity. In practice, there may be moreOr less clients and servers. Also, in some instances, a client mayperform the functions of a server and a server may perform the functionsof a client.

The clients 110 may include devices, such as wireless telephones,personal computers, personal digital assistants (PDAs), lap tops, etc.,threads or processes running on these devices, and/or objects executableby these devices. The servers 120-130 may include server devices,threads, and/or objects that operate upon, search, or maintain documentsin a manner consistent with the present invention. The clients 110 andservers 120-130 may connect to the network 140 via wired, wireless, oroptical connections.

In an implementation consistent with the present invention, the server120 may include a search engine 125 usable by the clients 110. Theservers 130 may store documents accessible by the clients 110.

Exemplary Client Architecture

FIG. 2 is an exemplary diagram of a client 110 in an implementationconsistent with the present invention. The client 110 may include a bus210, a processor 220, a main memory 230, a read only memory (ROM) 240, astorage device 250, one or more input devices 260, one or more outputdevices 270, and a communication interface 280. The bus 210 may includeone or more conductors that permit communication among the components ofthe client 110.

The processor 220 may include any type of conventional processor ormicroprocessor that interprets and executes instructions. The mainmemory 230 may include a random access memory (RAM) or another type ofdynamic storage device that stores information and instructions forexecution by the processor 220. The ROM 240 may include a conventionalROM device or another type of static storage device that stores staticinformation and instructions for use by the processor 220. The storagedevice 250 may include a magnetic and/or optical recording medium andits corresponding drive.

The input devices 260 may include one or more conventional mechanismsthat permit a user to input information to the client 110, such as akeyboard, a mouse, a pen, voice recognition and/or biometric mechanisms,etc. The output devices 270 may include one or more conventionalmechanisms that output information to the user, including a display, aprinter, a speaker, etc. The communication interface 280 may include anytransceiver-like mechanism that enables the client 110 to communicatewith other devices and/or systems. For example, the communicationinterface 280 may include mechanisms for communicating with anotherdevice or system via a network, such as network 140.

As will be described in detail below, the clients 110, consistent withthe present invention, perform certain searching-related operations. Theclients 110 may perform these operations in response to processor 220executing software instructions contained in a computer-readable medium,such as memory 230. A computer-readable medium may be defined as one ormore memory devices and/or carrier waves.

The software instructions may be read into memory 230 from anothercomputer-readable medium, such as the data storage device 250, or fromanother device via the communication interface 280. The softwareinstructions contained in memory 230 causes processor 220 to performprocesses that will be described later. Alternatively, hardwiredcircuitry may be used in place of or in combination with softwareinstructions to implement processes consistent with the presentinvention. Thus, the present invention is not limited to any specificcombination of hardware circuitry and software.

Exemplary Computer-Readable Medium

FIG. 3 is a diagram of an exemplary computer-readable medium used by theclients 110 according to an implementation consistent with the presentinvention. In this implementation, the computer-readable medium includesmemory 230. The memory 230 may include an operating system 310, browsersoftware 320, browser assistant software 330, miscellaneous othersoftware 340, and miscellaneous data 350.

The operating system 310 may include conventional operating systemsoftware, such as the Windows, Unix, or Linux operating systems. Thebrowser software 320 may include conventional web browser software, suchas the Microsoft Internet Explorer or Netscape Navigator browsers.

The browser assistant software 330 may include a plug-in, an applet, adynamic link library (DLL), or a similar executable object or process.The client 10 may obtain the plug-in from the server 120 or from a thirdparty server, disk, tape, network, CD-ROM, etc. Alternatively, theplug-in may be pre-installed on the client 110.

In another implementation consistent with the present invention, thebrowser assistant 330 is part of the browser 320. In thisimplementation, the browser 320 performs the functions of the browserassistant 330. In yet another implementation, the browser assistant 330is a process separate from and runs concurrently with the browser 320.In this implementation, the browser assistant 330 may interface betweenthe browser 320 and the network 140.

The browser assistant 330 may be automatically activated upon initiationof the browser 320. Alternatively, the browser assistant 330 may beactivated when instructed by a user. In either case, the browserassistant 330 may take the form of a graphical user interface, such as atool bar, software button, or menu, that provides an extension to thebrowser 320.

FIG. 4 is an exemplary diagram of a graphical user interface 400 thatincludes a browser assistant (BA) 330 according to an implementationconsistent with the present invention. The graphical user interface 400illustrated in FIG. 4 shows three forms of the browser assistant 330: atool bar 410, a software button 420, and a menu 430. The browserassistant 330 may take other forms.

The tool bar 410 includes software buttons and/or menus selectable by auser to initiate different functions of the browser assistant 330. Inthis case, a user may activate a function of the browser assistant 330by selecting one of the software buttons and/or menus. The softwarebutton 420 may be selectable by a user to initiate the browser assistant330 functionality. In this case, a user may activate a function of thebrowser assistant 330 by selecting the button using, for example, amouse. The menu 430 may provide a list of functions that the browserassistant 330 is capable of performing. A user may select from the listto activate the browser assistant 330 and instruct the browser assistant330 to perform the desired function.

As described in more detail below, the browser assistant 330 may performmany searching-related functions to enhance a user's search experience.The browser assistant 330 may attach to the browser 320 to provideadditional functionality to the user.

Returning to FIG. 3, the miscellaneous other software 340 andmiscellaneous data 350 may include programs and data used by the client110 to perform searching-related and non-searching-related operations.

Exemplary Server Architecture

FIG. 5 is an exemplary diagram of the server 120 according to animplementation consistent with the present invention. The servers 130may be similarly configured.

The server 120 may include a bus 510, a processor 520, a memory 530, oneor more input devices 540, one or more output devices 550, and acommunication interface 560. The bus 510 permits communication among thecomponents of the server 120. The processor 520 may include any type ofconventional processor or microprocessor that interprets and executesinstructions. The memory 530 may include a RAM or another type ofdynamic storage device that stores information and instructions forexecution by the processor 520; a ROM or another type of static storagedevice that stores static information and instructions for use by theprocessor 520; and/or some other type of magnetic or optical recordingmedium and its corresponding drive.

The input devices 540 may include one or more conventional mechanismsthat permit an operator to input information into the server 120, suchas a keyboard, mouse, pen, etc. The output devices 550 may include oneor more conventional mechanisms that output information to the operator,including a display, a printer, a speaker, etc. The communicationinterface 560 may include any transceiver-like mechanism that enablesthe server 120 to communicate with other devices and systems via anetwork, such as the network 140.

As will be described in detail below, the server 120, consistent withthe present invention, performs certain searching-related operations.The server 120 may perform these operations in response to processor 520executing software instructions contained in a computer-readable medium,such as memory 530. The software instructions may be read into memory530 from another computer-readable medium or from another device via thecommunication interface 560. The software instructions contained inmemory 530 causes processor 520 to perform processes that will bedescribed later. Alternatively, hardwired circuitry may be used in placeof or in combination with software instructions to implement processesconsistent with the present invention. Thus, the present invention isnot limited to any specific combination of hardware circuitry andsoftware.

Exemplary Processing for Highlighting Search Results Using BrowserAssistant

FIG. 6 is a flowchart of exemplary processing for highlighting searchresults in accordance with an implementation consistent with the presentinvention. Processing may begin with a user activating web browsersoftware, such as browser 320 (FIG. 3), and browser assistant software,such as browser assistant 330, on a client, such as client 110 (FIG. 1).The user may then provide one or more search terms to the browserassistant 330 [act 610]. The user may do this, for example, by enteringthe search terms at an appropriate place in the graphical user interfaceof the browser assistant 330. In an implementation consistent with thepresent invention, a group of search terms may be provided as a phraseor as part of a Boolean expression.

The browser assistant 330 may treat the search terms as a query to asearch engine, such as the search engine 125 or a web directory. Thebrowser assistant 330 may generate a request to query the search engine125 using the search terms and send the request to the search engine 125[act 620]. In response to the request, the search engine 125 generatesdata that contains the search results and sends it back to the browserassistant 330 [act 630]. The search engine 125 may provide the searchresults as a HyperText Markup Language (HTML) document, similar tosearch results provided by conventional search engines. Alternatively,the search engine 125 may provide the search results according to aprotocol agreed upon by the search engine 125 and the browser assistant330.

In an implementation consistent with the present invention, the searchresults include references to documents (e.g., web pages), such as linksto the documents and possibly a textual description of the links. Inanother implementation, the search results include references todirectory nodes within a hierarchical directory, such as links to thedirectory nodes and possibly textual descriptions for the directorynodes. In other implementations, the search results include acombination of these references.

The browser assistant 330 receives the list of result links from thesearch engine 125 [act 640]. If the list of result links takes the formof an HTML document, then the browser assistant 330 may parse thedocument to determine the links that form the search results.

The browser assistant 330 may present the result links to the user [act650]. For example, the browser assistant 330 may highlight the searchterms in the result links and/or any textual descriptions associatedwith the result links and present the result links as a web page in abrowser window. Alternatively, the browser assistant 330 may present theresult links as a list of selectable items within a user interface ofthe browser assistant 330. In one instance, the user interface of thebrowser assistant 330 may include a pull-down or pop-up menu. In anotherinstance, the user interface may include a side-bar or a scrolling list.

The user may then select one of the links to retrieve a documentcorresponding to the link. The user may make the selection, for example,by clicking on one of the links using a pointer, such as a mousepointer. The browser assistant 330 detects the link selection andretrieves the corresponding document from a server, such as server 130,in the network 140 [acts 660 and 670].

The browser assistant 330 may then highlight the search terms in thedocument [act 680]. For example, the browser assistant 330 may searchthe document to locate the search terms. Then for each occurrence of thesearch terms, the browser assistant 330 may change one or morecharacteristics of the word(s), such as the font, style, size, color,effect, etc.

The browser assistant 330 may then present the document, with thehighlighted search terms, to the user [act 680]. For example, thebrowser assistant 330 may display the document as a web page in abrowser window or via a pop-up window.

FIG. 7 is a diagram of an exemplary graphical user interface 700 thatdisplays a document with highlighted search terms in a manner consistentwith the present invention. In this example, the user has searched forthe term “google” and has selected a link on the Google web site for adocument relating to “How to Google.” As shown, the browser assistant330 highlights each occurrence of the word “google” in the document. Anyconventional highlighting technique may be used. For example, asillustrated in FIG. 7, the browser assistant 330 may underline eachoccurrence of the search term.

FIG. 8 is a flowchart of exemplary processing for highlighting searchresults in accordance with an alternate implementation consistent withthe present invention. In this alternate implementation, processing maybegin with a user activating web browser software, such as browser 320(FIG. 3), and browser assistant software, such as browser assistant 330,on a client, such as client 110 (FIG. 1). The user may provide anaddress, such as a Uniform Resource Locator (URL), to the browser 320 toaccess a search engine, such as the search engine 125, or a webdirectory in a conventional manner.

The user may then provide one or more search terms to the browser 320 ina conventional manner [act 810]. The browser assistant 330 may recordthe search terms for use in a manner described below [act 820].

The browser 320 may treat the search terms as a query to the searchengine 125 or the web directory. The browser 320 may generate a requestto query the search engine 125 using the search terms and send therequest to the search engine 125 [act 830]. In response to the request,the search engine 125 generates data that contains the search resultsand sends it back to the browser 320 [act 840].

As described above, the search results may include links to documents(e.g., web pages) and possibly a textual description of the links, linksto directory nodes within a hierarchical directory and possibly textualdescriptions for the directory nodes, or a combination of these links.

The browser 320 receives the list of result links from the search engine125 [act 850]. If the list of result links takes the form of an HTMLdocument, then the browser 320 may parse the document to determine thelinks that form the search results. The browser 320 may present theresult links to the user in a conventional manner [act 860].

The user may then select one of the links to retrieve a documentcorresponding to the link. The user may make the selection, for example,by clicking on one of the links using a pointer, such as a mousepointer. The browser 320 detects the link selection and retrieves thecorresponding document from a server, such as server 130, in the network140 [act 870].

The browser assistant 330 may intercept the document [act 880]. Thebrowser assistant 330 may then highlight the search terms in thedocument and present the highlighted document to the user instead of orin addition to the unhighlighted document [act 890]. For example, thebrowser assistant 330 may search the document to locate the searchterms. Then for each occurrence of the search terms, the browserassistant 330 may change one or more characteristics of the word(s),such as the font, style, size, color, effect, etc.

Exemplary Network without Browser Assistant

FIG. 9 is an exemplary diagram of an alternate network 900 in whichsystems and methods consistent with the present invention may beimplemented. The network 900 may include multiple clients 910 connectedto multiple servers 920-930 via a network 940. The network 940 mayinclude a LAN, a WAN, a telephone network, such as the PSTN, anintranet, the Internet, a similar or dissimilar network, or acombination of networks. The clients 910 and servers 920-930 may connectto the network 940 via wired, wireless, or optical connections. Twoclients 910 and three servers 920-930 have been illustrated as connectedto network 940 for simplicity. In practice, there may be more or lessclients and servers. Also, in some instances, a client may perform thefunctions of a server and a server may perform the functions of aclient.

The clients 910 may include devices, such as wireless telephones,personal computers, PDAs, lap tops, etc., threads or processes runningon these devices, and/or objects executable by these devices. Theclients 910 may be configured similar to the clients 110 in FIG. 1.Unlike the clients 110, however, the clients 910 do not include browserassistant software.

The servers 920-930 may include server devices, threads, and/or objectsthat operate upon, search, or maintain documents in a manner consistentwith the present invention. The server 920 may include an enhancedsearch engine 925 and may be configured similar to the server 120 inFIG. 1. The servers 930 may also be configured similar to the servers130 in FIG. 1.

Exemplary Processing for Highlighting Search Results without UsingBrowser Assistant

FIG. 10 is a flowchart of exemplary processing for highlighting searchresults in accordance with another implementation consistent with thepresent invention. Processing may begin with a search engine, such asthe enhanced search engine 925 on the server 920, periodically crawlingthe network 940. The search engine 925 may use a spider (i.e., a programthat crawls a network to locate publicly accessible resources, such asweb pages or other documents) to locate documents on the network 940.For each document located, the search engine 925 may save a copy of it[act 1010].

When a user decides to perform a search of the network 940, the user mayactivate a web browser, such as the browser 320. The user may thenprovide one or more search terms to the browser 320 in a conventionalmanner [act 1020]. The browser 320 may treat the search terms as a queryto a search engine, such as the search engine 925, or a web directory.The browser 320 may generate a request to query the search engine 925using the search terms and send the request to the search engine 925[act 1030]. In response to the request, the search engine 925 generatesdata that contains the search results and sends it back to the browser320 [act 1040].

As described above, the search results may include links to documents(e.g., web pages) and possibly a textual description of the links, linksto directory nodes within a hierarchical directory and possibly textualdescriptions for the directory nodes, or a combination of these links.

The browser 320 receives the list of result links from the search engine925 [act 1050]. If the list of result links takes the form of an HTMLdocument, then the browser 320 may parse the document to determine thelinks that form the search results. The browser 320 may present theresult links to the user in a conventional manner [act 1060].

The user may then select one of the links to retrieve a documentcorresponding to the link. The user may make the selection, for example,by clicking on one of the links using a pointer, such as a mousepointer. The browser 320 detects the link selection and notifies thesearch engine 925 of which link has been selected [act 1070].

The search engine 925 may then retrieve its saved copy of the document,highlight the search terms in the document, and present the highlighteddocument to the browser 320 instead of or in addition to theunhighlighted document [act 1080]. For example, the search engine 925may search the document to locate the search terms. Then for eachoccurrence of the search terms, the search engine 925 may change one ormore characteristics of the word(s), such as the font, style, size,color, effect, etc. Upon receiving the document, the browser 320 mayprovide the highlighted document to the user [act 1090].

In another implementation consistent with the present invention, thesearch engine 925 performs the highlighting function off-line. In thiscase, the search engine 925 may highlight the search terms in thedocuments corresponding to all of the result links, or a predeterminednumber of result links, and transmit the highlighted documents, or apredetermined number of the highlighted documents, to the browser 320.Alternatively, the search engine 925 may wait for the user to select oneof the links before transmitting the highlighted document(s) to thebrowser 320.

While the foregoing acts have been described as being performed by theserver 920, the acts may be performed by one of the servers 930 in otherimplementations consistent with the present invention.

Conclusion

Systems and methods, consistent with the present invention, highlightsearch terms in retrieved documents to aid a user in determining therelevance of the documents and locate relevant information within thedocuments.

The foregoing description of preferred embodiments of the presentinvention provides illustration and description, but is not intended tobe exhaustive or to limit the invention to the precise form disclosed.Modifications and variations are possible in light of the aboveteachings or may be acquired from practice of the invention. Forexample, while a series of acts have been described with regard to FIGS.6, 8, and 10, the order of the acts may be modified in otherimplementations consistent with the present invention.

Also, two separate network configurations have been described withregard to FIGS. 1 and 9. Other configurations or a combination ofconfigurations may occur in other implementations consistent with thepresent invention.

The scope of the invention is defined by the claims and theirequivalents.

1. A method performed by a client device for highlighting search termsin web documents distributed over a network, comprising: generating asearch query including a search term; receiving a list of one or morelinks to web documents distributed over the network in response to thesearch query; receiving selection of one of the links; retrieving a webdocument corresponding to the selected link from the network;intercepting the web document; and highlighting one or more occurrencesof the search term in the intercepted web document.
 2. The method ofclaim 1, wherein the highlighting includes: automatically searching theintercepted web document to locate each occurrence of the search term,and for each occurrence of the search term, changing a characteristic ofthe search term in the intercepted web document.
 3. The method of claim2, wherein the changing includes: changing at least one of a color,font, style, effect, and size of the search term in the intercepted webdocument.
 4. The method of claim 1, further comprising: providing theintercepted web document with the highlighted search term to a user. 5.The method of claim 1, wherein the generating includes: sending thesearch query to one of a search engine and a web directory to obtain thelist of one or more links.
 6. A system for highlighting search terms indocuments remotely distributed over a network to aid in thedetermination of relevance of the documents, comprising: means forgenerating a search query including one or more search terms; means forreceiving a list of one or more references to documents in the networkin response to the search query; means for highlighting one or moreoccurrences of the one or more search terms in the list of one or morereferences; means for receiving selection of one of the one or morereferences; means for retrieving a document corresponding to theselected reference; and means for highlighting the one or more searchterms in the retrieved document.
 7. A client device that highlightssearch terms in web documents remotely distributed over a network to aidin the determination of relevance of the web documents, comprising: amemory configured to store instructions; and a processor configured toexecute the instructions in the memory to receive a search query thatincludes one or more search terms, obtain a list of one or more links toweb documents distributed over the network using the search query,obtain selection of one of the links, download a web documentcorresponding to the selected link from the network, intercept the webdocument, and highlight the one or more search terms in the interceptedweb document.
 8. A browser assistant that interacts with a browser on aclient device, comprising: instructions for generating a search queryincluding a search term; instructions for obtaining a list of one ormore links to web documents distributed over the Internet using thesearch query; instructions for obtaining selection of one of the links;instructions for retrieving a web document corresponding to the selectedlink from the Internet; instructions for intercepting the web document;and instructions for highlighting the search term in the intercepted webdocument.
 9. A computer-readable medium that stores instructionsexecutable by at least one processor, comprising: a browser configuredto generate a search query that includes a search term, receive a listof one or more references to documents distributed over a network inresponse to the search query, receive selection of one or more of thereferences, and retrieve one or more documents corresponding to theselected one or more references; and a browser assistant configured tointercept the one or more documents, highlight the search term in theone or more documents, and present the one or more documents, with thehighlighted search term, to a user.
 10. The computer-readable medium ofclaim 9, wherein when highlighting, the browser assistant is configuredto identify the search term in the one or more documents and, for eachoccurrence of the search term in the one or more documents, change acharacteristic of the search term.
 11. A web browser stored on acomputer-readable medium, comprising: instructions for obtaining asearch term; instructions for generating a search query from the searchterm; instructions for obtaining a list of references to documentsdistributed over a network using the search query, the referencesincluding links to the documents and textual descriptions of the links;instructions for highlighting occurrences of the search term in the listof references; instructions for retrieving a document corresponding toone of the references; instructions for highlighting each occurrence ofthe search term in the retrieved document; and instructions fordisplaying the highlighted document to a user.